Skip to content

Link installed skills into Claude Code - #140

Closed
vshulman wants to merge 2 commits into
parallel-web:mainfrom
vshulman:fix/claude-code-skills-symlink
Closed

Link installed skills into Claude Code#140
vshulman wants to merge 2 commits into
parallel-web:mainfrom
vshulman:fix/claude-code-skills-symlink

Conversation

@vshulman

@vshulman vshulman commented Aug 6, 2026

Copy link
Copy Markdown

Before: parallel-cli skills install copies skills into ~/.agents/skills — the cross-agent location that Gemini CLI, Copilot, Codex and Amp read. Claude Code only scans ~/.claude/skills, so it never found them. The install reported success and nothing appeared.

After: the installer also symlinks each skill into ~/.claude/skills (or <project>/.claude/skills) when a .claude directory is present. One canonical copy in .agents/skills serves every agent.

Also: the install output now prints the slash commands. These are loose skills, so they are /parallel-web-search — the /parallel:parallel-web-search form only exists via the marketplace plugin, which is a separate install channel.

Safety: a path that already exists is skipped, so a hand-written skill of the same name is never overwritten. ~/.claude is never created for people who don't use Claude Code. A symlink failure (Windows without Developer Mode) prints a warning rather than failing the install.

Verified end-to-end against the live skills.parallel.ai index in a sandboxed HOME: all 10 skills link, a hand-written parallel-findall survives untouched, and a HOME without ~/.claude gets no directory created. 780 tests pass; ruff, tach and ty clean.

vshulman and others added 2 commits August 6, 2026 13:12
`parallel-cli skills install` writes to `~/.agents/skills`, the cross-agent
location read by Gemini CLI, Copilot, Codex and Amp. Claude Code only scans
`~/.claude/skills` (and `<project>/.claude/skills`), so skills installed by the
CLI were invisible to it — the install reported success and nothing showed up.

Keep `.agents/skills` as the single canonical copy and link each installed skill
into Claude Code's tree when a `.claude` directory is present. Symlinks mean
there is nothing to keep in sync; the folder is copied where symlinks need
privileges (Windows). The step is best-effort: it never clobbers an existing
skill of the same name, and any failure only warns rather than failing the
primary install.

Uninstall drops the links it created, and install prunes links for skills that
a narrower `--skill` set removed, so no dead slash commands are left behind.

Post-install output now names the actual commands. The CLI ships loose skills,
so they are invoked as `/parallel-web-search`, not `/parallel:parallel-web-search`
— that namespaced form belongs to the marketplace plugin, a separate install
channel. README gains an Agent Skills section documenting both, and the CLI
overview tree gains the `skills` group it was missing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`skills install` writes to `~/.agents/skills`, which Gemini CLI, Copilot,
Codex and Amp read. Claude Code only scans `~/.claude/skills`, so installed
skills never showed up there.

Symlink each installed skill into Claude Code's tree when a `.claude`
directory is present, so one canonical copy serves every agent. A path that
already exists is left alone, and a symlink failure warns instead of failing
the install.

Also print the slash commands after installing. These are loose skills, so
they are `/parallel-web-search`, not `/parallel:parallel-web-search` — that
form belongs to the marketplace plugin.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vshulman vshulman closed this Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant